package leetcode1;

import java.util.*;
public class Day6 {

    //870.优势洗牌
    public int[] advantageCount(int[] nums1, int[] nums2) {
        //
        int n = nums1.length;
        Integer[] index = new Integer[n];//用来排序nums2
        int[] ret = new int[n];//记录结果
        Arrays.sort(nums1);
        for(int i=0;i<n;i++) index[i]=i;

        Arrays.sort(index,(i,j)->{
            return nums2[i] - nums2[j];
        });

        int i=0,j=n-1;//遍历nums1
        //int k=0;//遍历ret
        int left=0,right=n-1;//遍历index
        while(i<n && left<n ) {
            if(nums1[i] > nums2[index[left]]) {//大于对面的值，直接放
                ret[index[left++]]=nums1[i++];
            }else {                           //小于对方的值，放到对方最大值的位置
                ret[index[right--]]=nums1[i++];
            }
        }
        return ret;
    }
}
